package cn.iocoder.yudao.module.system.controller.admin.portal.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 门户网站用户分页 Request VO")
@Data
public class PortalUserPageReqVO extends PageParam {

    @Schema(description = "用户名（登录账号）", example = "张三")
    private String name;

    @Schema(description = "用户昵称", example = "赵六")
    private String nickName;

    @Schema(description = "手机号码（可用于登录/找回密码）")
    private String telePhone;

    @Schema(description = "微信号")
    private String wechat;

    @Schema(description = "电子邮箱（可用于登录/找回密码）")
    private String email;

    @Schema(description = "密码（加密存储，建议使用BCrypt/SHA256等算法）")
    private String password;

    @Schema(description = "用户类型：1-同步用户，2-自增用户", example = "2")
    private String userType;

    @Schema(description = "删除标志：0-未删，1-已删")
    private String delFlag;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "修改时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] modifyTime;

    @Schema(description = "创建人ID", example = "22819")
    private String creatorId;

    @Schema(description = "所属机构编码")
    private String orgCode;

}